/*
 * Copyright (c) 2017. 深圳一七科技. All rights reserved.
 */

package com.yiqi.liebang.feature.setting.contract;

import com.suozhang.framework.entity.bo.UserInfoBo;
import com.suozhang.framework.framework.BasePresenter;
import com.suozhang.framework.framework.BaseView;
import com.yiqi.liebang.entity.bo.EditPrivacyBo;
import com.yiqi.liebang.entity.bo.PrivacyBo;
import com.yiqi.liebang.entity.bo.RegisterBo;

import io.reactivex.Observable;

/**
 * LIJUWEN
 *
 * @email yiyayiyayaoljw@gmail.com
 * @date 2018/7/11 9:06
 */
public interface EditContract {

    interface Model {
        Observable<String> editPwd(RegisterBo registerBo);

        Observable<String> editPhone(RegisterBo registerBo);

        Observable<RegisterBo> sendCode(RegisterBo registerBo);

        Observable<String> verificationCode(RegisterBo registerBo);

        Observable<UserInfoBo> bindPhone(RegisterBo registerBo);
    }

    interface View extends BaseView {

        void showCodeSuccess(RegisterBo s);

        void showSuccess();

        void showError(String error);

    }

    interface Presenter extends BasePresenter {
        void editPwd(String userPhone, String code, String newPwd);

        void editPhone(String userPhone, String code, String newPhone);

        void sendCode(String mobile);
        void bindPhone(String mobile,String code,String userOpenid,Integer bindingType);
        void verificationCode(String userPhone, String code);
    }
}
